package JavaCore;

public class MyStatic {
	static int hp = 10;
	int level = 1;

	public static void main(String[] args) {
		MyStatic m = new MyStatic();
		
		//변경 전 hp
		System.out.println("hp = " + m.hp);
		System.out.println("level = " + m.level);

		MyStatic m2 = new MyStatic();
		System.out.println("hp = " + m2.hp);
		System.out.println("level = " + m2.level);
		
		//변경 후 hp
		System.out.println("=================After Change=================");
		m.hp=20; 
		m.level=2;
		
		System.out.println("hp = " + m.hp);
		System.out.println("level = " + m.level);
		
		System.out.println("hp = " + m2.hp);		//m 에서 hp를 변경했는데 m2에서도 hp가 변경된다. why? static 이라서
		System.out.println("level = " + m2.level);	//역시 m에서 level을 변경했지만 m2에서는 변경되지 않았다. why? static 이 아니라서. 공통변수가 아니다.
		
		
		//새로운 객체 생성 create new object.
		System.out.println("=================New Object=================");
		MyStatic m3 = new MyStatic();
		System.out.println("hp = " + m3.hp);
		System.out.println("level = " + m3.level);
	}

}
